package com.mt.api.modules.domain.wx;

import lombok.Data;

/**
 * @author qurenneng
 */
@Data
public class WxNotify {

    /**
     * 通知的唯一ID
     */
    private String id;
    /**
     * 通知创建时间，例如：2015-05-20T13:29:35+08:00
     */
    private String create_time;
    /**
     * 通知类型，支付成功为：TRANSACTION.SUCCESS
     */
    private String event_type;
    /**
     * 通知数据类型，支付成功为：encrypt-resource
     */
    private String resource_type;
    /**
     * 通知数据
     */
    private NotifyResource resource;
    /**
     * 回调摘要，例如：支付成功
     */
    private String summary;

    @Data
    public static class NotifyResource {

        /**
         * 对开启结果数据进行加密的加密算法：AEAD_AES_256_GCM
         */
        private String algorithm;
        /**
         * Base64编码后的开启/停用结果数据密文
         */
        private String ciphertext;
        /**
         * 附加数据
         */
        private String associated_data;
        /**
         * 原始回调类型：transaction
         */
        private String original_type;
        /**
         * 加密使用的随机串
         */
        private String nonce;
    }
}
